<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Chapter 3. Testing and Certifying the Port</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.62.4" />
    <link rel="home" href="index.html" title="Porting Berkeley DB" />
    <link rel="up" href="index.html" title="Porting Berkeley DB" />
    <link rel="previous" href="buildtarget.html" title=" Building on the Target Platform" />
    <link rel="next" href="modifytest.html" title="Modifying the Tests" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Chapter 3. Testing and Certifying the Port</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="buildtarget.html">Prev</a> </td>
          <th width="60%" align="center"> </th>
          <td width="20%" align="right"> <a accesskey="n" href="modifytest.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="chapter" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title"><a id="testport"></a>Chapter 3. Testing and Certifying the Port</h2>
          </div>
        </div>
        <div></div>
      </div>
      <div class="toc">
        <p>
          <b>Table of Contents</b>
        </p>
        <dl>
          <dt>
            <span class="sect1">
              <a href="testport.html#testtypes">Types of Tests for Berkeley DB</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="modifytest.html">Modifying the Tests</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="testrun.html">Running the Tests</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="testreview.html">Reviewing the Results of the Tests</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="sourceintegrate.html">Integrating Changes into the Berkeley DB Source Code</a>
            </span>
          </dt>
          <dt>
            <span class="sect1">
              <a href="certport.html">Certifying a Port of Berkeley DB</a>
            </span>
          </dt>
        </dl>
      </div>
      <p>
There are several different types of tests available for validating your
port of Berkeley DB as discussed in <a href="testport.html#testtypes">Types of Tests for Berkeley DB</a>. Testing your port involves:
</p>
      <div class="itemizedlist">
        <ul type="disc">
          <li>
            <p>
<a href="modifytest.html">Modifying the Tests</a>
</p>
          </li>
          <li>
            <p>
<a href="testrun.html">Running the Tests</a>
</p>
          </li>
          <li>
            <p>
        <a href="testreview.html">Reviewing the Results of the Tests</a>
</p>
          </li>
          <li>
            <p>
<a href="sourceintegrate.html">Integrating Changes into the Berkeley DB Source Code</a>
</p>
          </li>
          <li>
            <p>
        <a href="certport.html">Certifying a Port of Berkeley DB</a>
</p>
          </li>
        </ul>
      </div>
      <div class="sect1" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title" style="clear: both"><a id="testtypes"></a>Types of Tests for Berkeley DB</h2>
            </div>
          </div>
          <div></div>
        </div>
        <p>
There are two types of tests available for testing your port of Berkeley DB:
</p>
        <div class="itemizedlist">
          <ul type="disc">
            <li>
              <p>The C Tests for Berkeley DB</p>
              <p>
There are three types of C tests for Berkeley DB. Each of these is in its own directory:
</p>
              <div class="itemizedlist">
                <ul type="circle">
                  <li>
                    <p>
<tt class="literal">test_os</tt> 
contains files that test the system primitives. See the
<tt class="literal">test_os/Test_OS_Technical_Detail</tt> file for detailed information on these tests (for example, how each function is tested).
</p>
                  </li>
                  <li>
                    <p>
<tt class="literal">test_mutex</tt> 
contains files that test the use of mutexes in Berkeley DB.
</p>
                  </li>
                  <li>
                    <p>
<tt class="literal">test_micro</tt> 
contains the C tests that exercise the most common code paths, but it is
not intended to be an exhaustive Test Suite. Additionally, it tests the
different versions of Berkeley DB (including the new port) against each
other.  The <tt class="literal">test_micro</tt> tests can either be run in a shell or as simple C tests.
</p>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <p>The Berkeley DB Test Suite</p>
              <p>
The <tt class="literal">test</tt> directory contains the Berkeley DB Test Suite that tests all of the code in Berkeley DB. Using the Test Suite involves using Tool Command Language (Tcl) version 8.4 or later. Running the standard version of the Test Suite executes tests the major functionality of Berkeley DB. A more exhaustive version of the Test Suite runs all the tests several more times, testing encryption, replication, and different page sizes.
</p>
            </li>
          </ul>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="buildtarget.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="index.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="modifytest.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top"> Building on the Target Platform </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Modifying the Tests</td>
        </tr>
      </table>
    </div>
  </body>
</html>
